Software organizations regularly incorporate and integrate software products from other organizations. However, when two software organizations integrate their software, they normally have to inform each other of the specific information regarding the software, such as the location of the files, the possible interactive behavior of the files, and even the software tool definition. Similarly, when a software product is to be improved and upgraded, the base product typically must have concrete knowledge of the add-on products to allow them to function.
But increasingly, software organizations that intend to integrate another vendor's software product may not want to spend the resource to grasp, for example, the software tool definition of the other vendor's software. Likewise, the other vendor may not want to share the detailed information regarding their software before the tool integration. Accordingly, a need exists for a mechanism to integrate a base product with another product without the need to inform the base product beforehand about the other product's tool definition.